package DAO;

//import models.AsignaturaHora;
//import java.util.List;
//import javax.persistence.Query;
//import javax.persistence.EntityManager;
//import javax.persistence.EntityManagerFactory;
//import javax.persistence.Persistence;
//
//public class AsignaturaHoraDao {
//
//    protected EntityManager em;
//    AsignaturaHora ah = new AsignaturaHora();
//
//    public AsignaturaHora asociarAsignaturaHora(Integer idAsignatura, String nombreHora) {
//        EntityManagerFactory emf =
//                Persistence.createEntityManagerFactory("sischoolPU");
//        this.em = emf.createEntityManager();
//        ah.setIdAsignatura(idAsignatura);
//        ah.setNombreHora(nombreHora);
//        em.getTransaction().begin();
//        em.persist(ah);
//        em.getTransaction().commit();
//        em.close();
//        emf.close();
//        return ah;
//    }
//
//    public int validarCreacion(Integer idAsignatura, String nombreHora) {
//        int ok = 0;
//        EntityManagerFactory emf =
//                Persistence.createEntityManagerFactory("sischoolPU");
//        this.em = emf.createEntityManager();
//        Query q = em.createQuery("SELECT ah FROM AsignaturaHora ah WHERE ah.nombreHora='" + nombreHora + "' AND ah.idAsignatura='" + idAsignatura + "'");
//        if (q.getResultList().isEmpty() == true) {
//            ok = 0;
//        } else {
//            ok = 1;
//        }
//        em.close();
//        emf.close();
//        return ok;
//    }
//
//    public AsignaturaHora devolverAsignaturaHora(Integer idAsignatura, String nombreHora) {
//        int ok = 0;
//        EntityManagerFactory emf =
//                Persistence.createEntityManagerFactory("sischoolPU");
//        this.em = emf.createEntityManager();
//        Query q = em.createQuery("SELECT ah FROM AsignaturaHora ah WHERE ah.nombreHora='" + nombreHora + "' AND ah.idAsignatura='" + idAsignatura + "'");
//        if (q.getResultList().isEmpty() == true) {
//            ok = 0;
//        } else {
//            ah = (AsignaturaHora) q.getSingleResult();
//            ok = ah.getIdAsignatura();
//        }
//        em.close();
//        emf.close();
//        if (ok == 0) {
//            return null;
//        } else {
//            return ah;
//        }
//    }
//
//    public void desasociarAsignaturaHora(AsignaturaHora asigHora) {
//        EntityManagerFactory emf =
//                Persistence.createEntityManagerFactory("sischoolPU");
//        this.em = emf.createEntityManager();
//        //ah = em.find(AsignaturaHora.class, asigHora.getNombreHora());
//        String nombreHora = asigHora.getNombreHora();
//        Integer idAsignatura = asigHora.getIdAsignatura();
//        em.getTransaction().begin();
//        Query q = em.createQuery("SELECT ah FROM AsignaturaHora ah WHERE ah.nombreHora='" + nombreHora + "' AND ah.idAsignatura='" + idAsignatura + "'");
//        if (q.getResultList().isEmpty() == false) {
//            ah = (AsignaturaHora) q.getResultList().get(0);
//            Query a = em.createQuery("DELETE FROM AsignaturaHora ah WHERE ah.nombreHora='" + nombreHora + "' AND ah.idAsignatura='" + idAsignatura + "'");
//            a.executeUpdate();
//            em.getTransaction().commit();
//        }
//        em.close();
//        emf.close();
//    }
//
//    public List consultarHorasAsociadas(Integer idAsignatura) {
//        EntityManagerFactory emf =
//                Persistence.createEntityManagerFactory("sischoolPU");
//        this.em = emf.createEntityManager();
//        Query query = em.createQuery("SELECT ah.nombreHora FROM AsignaturaHora ah WHERE ah.idAsignatura='" + idAsignatura + "' AND ah.nombreHora <> 'default'");
//        List<AsignaturaHora> lista = query.getResultList();
//        em.close();
//        emf.close();
//        return (lista);
//    }
//
//    public EntityManager getEm() {
//        return em;
//    }
//
//    public void setEm(EntityManager em) {
//        this.em = em;
//    }
//
//    public void persist(Object object) {
//        EntityManagerFactory emf = Persistence.createEntityManagerFactory("sischoolPU");
//        EntityManager em1 = emf.createEntityManager();
//        em1.getTransaction().begin();
//        try {
//            em1.persist(object);
//            em1.getTransaction().commit();
//        } catch (Exception e) {
//            e.printStackTrace();
//            em1.getTransaction().rollback();
//        } finally {
//            em1.close();
//        }
//    }
//}
